In a common channel signaling network, such as an SS7 network, call signaling messages are used to set up and tear down calls between end users and to communicate with databases. These call signaling messages are sent over signaling links to a signaling node that routes the call signaling messages to the appropriate destination. The signaling links can be SS7 signaling links, IP signaling links, or other signaling links suitable for carrying call signaling messages associated with a call session. The node that conventionally routes signaling messages between such signaling links is referred to as a signal transfer point (STP). In non-SS7 networking environments, such as session initiation protocol (SIP)-based networking environments, routing may be performed by a SIP gateway server, SIP server, a SIP router, an IP Multimedia Subsystem (IMS) call session control function (CSCF) server, or other SIP-capable network element.
In addition to routing call signaling messages between signaling links, STPs may be responsible for providing various services, such as LNP or GTT translations for call signaling messages. In one example, an STP receives a call signaling message originating from an end office or SSP via a signaling link. The signaling link is coupled to a source card that resides within the STP. The source card inspects the message, determines the services (if any) that need to be provided for the message. The source card may send the message to a service card to provide the service(s). In one example, if the service is GTT, the service card may perform the GTT lookup, insert the new point code and subsystem number in the message, and route the message to its destination. If the provided service is LNP, the service card may perform an LNP lookup and respond to the LNP query with a local routing number (LRN) associated with the switching point (SP) to which the subscriber has been ported.
Because of the distributed nature of the source cards and the service cards in telecommunications signaling platforms, it is necessary for a flow control mechanism to exist between the source cards and the service cards to prevent source cards from overwhelming service cards. One conventional flow control mechanism used in the EAGLE® signal transfer point commercially available from the assignee of the present subject matter is referred to as ticket voucher flow control. According to ticket voucher flow control, when a source card receives a message that requires service, the source card launches a ticket voucher request message containing an indicator of the requested service type. The ticket voucher request message flows through all of the service cards. The first service card that receives the ticket voucher request message that is capable of providing the requested service type modifies the message to change it into a ticket voucher grant message, decrements its capacity corresponding to the amount of work required to provide the service, and returns the grant to the source card. The source card then sends the message to the grantor.
One problem with the existing ticket voucher flow control mechanism is that it does not provide information of the full rated capacity of each service card. All that the source card knows is that there is at least one card that can process the message. Another problem with the existing ticket voucher flow control mechanism is that it relies on the cards being arranged in a ring topology. The grant passes through all of the cards in the ring before being transferred back to the source. It may be desirable to configure the source cards and the service cards in a star topology via a switch. In such a topology, some messages may bypass some cards, which will require modification to the existing ticket voucher flow control mechanism.
Accordingly, there exists a long-felt need for improved methods, systems, and computer program products for providing message flow control between applications in a telecommunications signaling message routing platform having a distributed internal processing architecture.